Skip to content

python3.8 support drop - #6197

Merged
richtja merged 1 commit into
avocado-framework:masterfrom
richtja:drop_python3.8
Aug 12, 2025
Merged

python3.8 support drop#6197
richtja merged 1 commit into
avocado-framework:masterfrom
richtja:drop_python3.8

Conversation

@richtja

@richtja richtja commented Jul 28, 2025

Copy link
Copy Markdown
Contributor

Reference: #6183

Summary by CodeRabbit

  • Chores
    • Dropped support for Python 3.8 across the project, updating minimum required Python version to 3.9 in documentation, setup, and workflows.
    • Updated dependency requirements for the Robot Framework plugin to align with new Python version support.
    • Adjusted continuous integration and release workflows to test and build only with Python 3.9 and above.

@richtja richtja added this to the 112 - Codename TBD milestone Jul 28, 2025
@richtja
richtja requested review from clebergnu and harvey0100 July 28, 2025 10:08
@richtja richtja self-assigned this Jul 28, 2025
@mr-avocado

mr-avocado Bot commented Jul 28, 2025

Copy link
Copy Markdown

Dear contributor,
the rpm-build:fedora-rawhide-x86_64 CI failure is probably not caused by your changes, but an infrastructure issue. Please ignore this failure.

@mr-avocado mr-avocado Bot moved this to Review Requested in Default project Jul 28, 2025
@coderabbitai

coderabbitai Bot commented Jul 28, 2025

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Python 3.8 support was removed from the project. This included updating CI workflows, the release pipeline, dependency constraints, installation documentation, and setup metadata to require Python 3.9 or newer. All version checks, dependency specifiers, and instructions referencing Python 3.8 were updated accordingly.

Changes

Cohort / File(s) Change Summary
CI Workflow Python Matrix Update
.github/workflows/ci.yml
Removed Python 3.8 from the test matrix in all relevant jobs and updated package installs from python38 to python39 in the egg_task_ubi_8 job.
Release Workflow Python Matrix Update
.github/workflows/release.yml
Removed Python 3.8 from the build-and-publish-eggs job matrix.
Egg Fetch Script Update
contrib/scripts/avocado-fetch-eggs.py
Excluded Python 3.8 from the list of Python versions for which eggs are fetched.
Documentation Update
docs/source/guides/user/chapters/installing.rst
Updated minimum required Python version in install instructions from 3.8 to 3.9.
Robot Plugin Dependency Update
optional_plugins/robot/setup.py
Dropped Python <3.9 support and simplified robotframework dependency constraints accordingly.
Setup Metadata Update
setup.py
Updated python_requires and removed Python 3.8 classifier, setting minimum Python version to 3.9.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant CI Workflow
    participant Release Workflow
    participant Setup Script
    participant Documentation

    User->>CI Workflow: Trigger tests/builds
    CI Workflow->>CI Workflow: Run jobs for Python 3.9–3.13 (not 3.8)
    User->>Release Workflow: Trigger release
    Release Workflow->>Release Workflow: Build/publish eggs for Python 3.9–3.13
    User->>Setup Script: Install package
    Setup Script->>Setup Script: Enforce python_requires >=3.9
    User->>Documentation: Read install instructions
    Documentation->>User: Show minimum Python 3.9 required
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇
Farewell to Python three-point-eight,
Our code now moves to something great!
With docs and scripts all up to date,
CI and eggs in sync—how straight!
The rabbit hops with cheerful cheer,
For Python 3.9 is finally here!

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Pylint (3.3.7)
contrib/scripts/avocado-fetch-eggs.py
setup.py
optional_plugins/robot/setup.py

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b3670f6 and 9f241fc.

📒 Files selected for processing (6)
  • .github/workflows/ci.yml (5 hunks)
  • .github/workflows/release.yml (1 hunks)
  • contrib/scripts/avocado-fetch-eggs.py (1 hunks)
  • docs/source/guides/user/chapters/installing.rst (1 hunks)
  • optional_plugins/robot/setup.py (1 hunks)
  • setup.py (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • .github/workflows/release.yml
🚧 Files skipped from review as they are similar to previous changes (5)
  • docs/source/guides/user/chapters/installing.rst
  • setup.py
  • optional_plugins/robot/setup.py
  • .github/workflows/ci.yml
  • contrib/scripts/avocado-fetch-eggs.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (51)
  • GitHub Check: rpm-build:fedora-41-s390x
  • GitHub Check: rpm-build:fedora-42-x86_64
  • GitHub Check: rpm-build:fedora-41-x86_64
  • GitHub Check: rpm-build:fedora-41-ppc64le
  • GitHub Check: rpm-build:centos-stream-9-x86_64
  • GitHub Check: rpm-build:epel-9-x86_64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:fedora-41-aarch64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:fedora-41-x86_64
  • GitHub Check: rpm-build:epel-9-x86_64
  • GitHub Check: rpm-build:fedora-41-ppc64le
  • GitHub Check: rpm-build:fedora-42-x86_64
  • GitHub Check: rpm-build:fedora-41-aarch64
  • GitHub Check: rpm-build:fedora-41-s390x
  • GitHub Check: rpm-build:centos-stream-9-x86_64
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:fedora-41-ppc64le
  • GitHub Check: rpm-build:fedora-41-x86_64
  • GitHub Check: rpm-build:fedora-42-x86_64
  • GitHub Check: rpm-build:centos-stream-9-x86_64
  • GitHub Check: rpm-build:epel-9-x86_64
  • GitHub Check: rpm-build:fedora-42-x86_64
  • GitHub Check: rpm-build:fedora-41-aarch64
  • GitHub Check: rpm-build:fedora-41-s390x
  • GitHub Check: rpm-build:fedora-41-s390x
  • GitHub Check: rpm-build:fedora-rawhide-x86_64
  • GitHub Check: rpm-build:fedora-41-ppc64le
  • GitHub Check: rpm-build:fedora-41-x86_64
  • GitHub Check: rpm-build:fedora-41-aarch64
  • GitHub Check: rpm-build:epel-9-x86_64
  • GitHub Check: rpm-build:centos-stream-9-x86_64
  • GitHub Check: Fedora develop install/uninstall task
  • GitHub Check: Egg task ubuntu:20.04
  • GitHub Check: Podman spawner with 3rd party runner plugin
  • GitHub Check: Fedora selftests
  • GitHub Check: Build Package (wheel/tarball) for Python 3.10
  • GitHub Check: Build Package (wheel/tarball) for Python 3.12
  • GitHub Check: Version task ubuntu:20.04
  • GitHub Check: Build Package (wheel/tarball) for Python 3.9
  • GitHub Check: Build Package (wheel/tarball) for Python 3.13
  • GitHub Check: Build Package (wheel/tarball) for Python 3.11
  • GitHub Check: Version task debian:12.4
  • GitHub Check: Version task ubi:8.8
  • GitHub Check: Smokecheck on Linux with Python 3.10
  • GitHub Check: Version task ubuntu:22.04
  • GitHub Check: Smokecheck on Linux with Python 3.11
  • GitHub Check: Static checks
  • GitHub Check: Code Coverage (3.11)
  • GitHub Check: Analyze (python)
  • GitHub Check: macOS with Python 3.11

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov

codecov Bot commented Jul 28, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.33%. Comparing base (dda98ea) to head (9f241fc).
⚠️ Report is 66 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6197   +/-   ##
=======================================
  Coverage   68.32%   68.33%           
=======================================
  Files         205      205           
  Lines       22412    22413    +1     
=======================================
+ Hits        15313    15315    +2     
+ Misses       7099     7098    -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@YvanY0

YvanY0 commented Jul 31, 2025

Copy link
Copy Markdown

Hello @richtja , can you please also help update the egg_task for ubi8? Thanks.

name: Egg task ubi:8.8
runs-on: ubuntu-22.04
container:
image: registry.access.redhat.com/ubi8/ubi:8.8
steps:
- name: Install Python dependencies
run: dnf -y install python38 python38-setuptools
- name: Check out repository code
uses: actions/checkout@v4
- uses: ./.github/actions/egg

Reference: avocado-framework#6183
Signed-off-by: Jan Richter <jarichte@redhat.com>
@richtja
richtja requested a review from harvey0100 August 6, 2025 13:28

@harvey0100 harvey0100 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

@richtja

richtja commented Aug 12, 2025

Copy link
Copy Markdown
Contributor Author

@PaulYuuu hi, can you give me another review after the ubi8 fix, thanks

@YvanY0 YvanY0 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally the current version is good, it should cover all dropping python3.8 stuff, I will rebase my PR once this merged, to see if has other issues.

@richtja
richtja merged commit ef3385d into avocado-framework:master Aug 12, 2025
63 checks passed
@github-project-automation github-project-automation Bot moved this from Review Requested to Done 112 in Default project Aug 12, 2025
@richtja
richtja deleted the drop_python3.8 branch August 12, 2025 15:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants